home *** CD-ROM | disk | FTP | other *** search
/ The Macintosh Demo Applications CD / Apple-MacintoshDemoApplicationsCD-1.0-1992.iso / More Information / QuicKeys / For Programmers Only.sea / C Examples / SampleXhdr.c < prev    next >
C/C++ Source or Header  |  1991-06-22  |  2KB  |  79 lines

  1. /*
  2.     $Workfile:   SampleXhdr.c  $
  3.     $Revision:   1.0  $
  4.                             
  5.     QuicKeys sample extension execution routine
  6.     
  7.     custom header for Think C
  8.  
  9.     © 1990 CE Software, Inc.  All rights reserved.
  10.             
  11.     For QuicKeys 2 Extension Sample source code you have a royalty-free right
  12.     to include object code derived from this Sample source code in programs
  13.     that you develop.  You also have the right to use, distribute, and license
  14.     such programs to third parties without payment of any further license fees
  15.     to CE Software, Inc., so long as a copyright notice sufficient to protect
  16.     your copyright for your software in the United States or any other country;
  17.     is included in the graphic display of your software and on the labels
  18.     affixed to the media on which your software is distributed.
  19.  
  20.     WHEN    WHO        WHAT
  21.  
  22. Checked in by Marsh Gosnell, Wednesday, September 5, 1990 12:45:39 PM
  23.     8/28    mkg        created file
  24. •••••
  25.     
  26. •••••
  27. */
  28.  
  29. extern pascal void doExecute();
  30.  
  31. /* the first function in the file, our custom header */
  32. main() {
  33.     asm {
  34.     dc.l    0                        ; next entry in the queue
  35.  
  36.     dc.l    0                        ; extension creator
  37.  
  38.     dc.w    0                        ; flags
  39.  
  40.     dc.l    0                        ; extension file name
  41.     dc.l    0
  42.     dc.l    0
  43.     dc.l    0
  44.     dc.l    0
  45.     dc.l    0
  46.     dc.l    0
  47.     dc.l    0
  48.  
  49.     dc.l    0                        ; SICN to display
  50.     dc.l    0
  51.     dc.l    0
  52.     dc.l    0
  53.     dc.l    0
  54.     dc.l    0
  55.     dc.l    0
  56.     dc.l    0
  57.  
  58.     dc.l    0                        ;our refcon, if we want it
  59.  
  60.     link    A6,#0                    ; execution starts here
  61.  
  62.     move.w    12(A6),-(A7)            ; push selector
  63.     move.l    8(A6),A0                ; get address of current key data
  64.     lea        0x7B4(A0),A0
  65.     move.l    A0,-(A7)
  66.     pea        main                    ; address of our queue entry
  67.     move.w    D3,-(A7)                ; type of periodic
  68.  
  69.     lea        main,A0                    ; so you can do RememberA0
  70.  
  71.     jsr        doExecute
  72.  
  73.     unlk    A6
  74.     move.l    (SP)+,A0
  75.     adda.l    #6,SP
  76.     jmp        (A0)
  77.     }
  78. }
  79.